package eleTrain.training4;

import java.util.ArrayList;

import neuroPoker.poker.Spieler;
import neuroPoker.poker.Tisch;
import neuroPoker4.training.TrainStatistik;
import eleTrain.StatDB.TrainedHandsStatDatabase;
import eleTrain.poker.EleTisch;

public class EleStatistik extends TrainStatistik {

	public double[] dops = new double[3];

	TrainedHandsStatDatabase trainCountDb;

	boolean countHandsTrained;

	public EleStatistik(String generationName, int anzSpieler, int printAll,
			boolean countHandsTrained) {
		super(anzSpieler, printAll, "Ele-Stats");
		this.countHandsTrained = countHandsTrained;
		if (countHandsTrained) {
			this.trainCountDb = new TrainedHandsStatDatabase(generationName);
		}
	}

	public void statistikDOPS(double dop) {
		if (dop > 0.5)
			dops[0]++;
		else
			dops[1]++;
		dops[2] += dop;
	}

	@Override
	public void statistikAusgeben(ArrayList<Spieler> spieler, int anzSpiele) {
		System.out.println("******** ELETRAIN-STATS ********");
		super.statistikAusgeben(spieler, anzSpiele);
	}

	@Override
	public void statistik(Tisch tisch, ArrayList<Spieler> spieler, int anzSpiele) {
		if (countHandsTrained) {
			trainCountDb.countHandTrained(((EleTisch) tisch).eleHh.gameNo);
		}
		super.statistik(tisch, spieler, anzSpiele);
	}

}
